home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u367.dms / in.adf / Replay.Source / 8ChannelReplay.s.pp / 8ChannelReplay.s
Encoding:
Text File  |  1991-09-01  |  9.8 KB  |  738 lines

  1. ; STARTREKKER 1.2     8 CHANNEL REPLAYER
  2.  
  3. ; BY BJOERN WESEN / EXOLON OF FAIRLIGHT
  4.  
  5.  
  6. ; This player takes quite a lot of rastertime... (And it could use a
  7. ; bit more optimizing) But I made it so no one should complain.
  8. ; To use, call mt8_init, and call mt8_music first among your raster
  9. ; routines. mt8_music waits for the raster itself, so you should not
  10. ; do that. This is important, again, call mt8_music first and then your
  11. ; own routines. To finish, call mt8_end.
  12.  
  13. ; NOTE! DON'T call mt8_music from a vblank interrupt. In fact, shut off
  14. ; all interrupts when using this player... 
  15.  
  16. ; The mt8_data doesn't have to be in CHIP mem, it can be as well in
  17. ; fast mem.
  18.  
  19. ; HOWEVER the mt8_buf0 and others have to reside in CHIP mem. Therefore
  20. ; the ORG below.
  21.  
  22.  
  23. mt8_data:    EQU    $40000    
  24.  
  25.     ORG    $35000
  26.     LOAD    $35000
  27.  
  28. TESTPLAY:
  29.     move.w    #$4000,$dff09a    
  30.     bsr    mt8_init
  31. loop:    bsr    mt8_music
  32.     btst    #6,$bfe001
  33.     bne.s    loop
  34.     bsr    mt8_end
  35.     move.w    #$c000,$dff09a
  36.     rts
  37.  
  38. mt8_init:
  39.     lea    mt8_data+$3b8,a1
  40.     moveq    #$7f,d0
  41.     moveq    #0,d1
  42. mt8_l1:    move.l    d1,d2
  43.     subq.w    #1,d0
  44. mt8_l2:    move.b    (a1)+,d1
  45.     cmp.b    d2,d1
  46.     bgt.s    mt8_l1
  47.     dbra    d0,mt8_l2
  48.     addq.b    #2,d2
  49.  
  50.     lea    mt8_samplestarts,a1
  51.     lsl.l    #8,d2
  52.     lsl.l    #2,d2
  53.     lea    mt8_data,a2
  54.     lea    42(a2),a0
  55.     add.l    d2,a2
  56.     add.w    #$43c,a2
  57.     moveq    #31,d0
  58. mt8_il:    move.l    a2,(a1)+
  59.     moveq    #0,d1
  60.     move.w    (a0),d1
  61.     add.l    d1,d1
  62.     add.l    d1,a2
  63.     add.w    #$1e,a0
  64.     dbra    d0,mt8_il
  65.  
  66.     lea    mt8_buf0,a0
  67.     move.w    #697,d0
  68. mt8_clr:clr.l    (a0)+
  69.     dbra    d0,mt8_clr
  70.  
  71.     move.w    #6,mt8_speed
  72.     move.w    #1,mt8_speedcnt
  73.     clr.w    mt8_songpos
  74.     clr.w    mt8_doublebuf
  75.     bsr    mt8_gtsongpos
  76.     move.w    #$f,$dff096
  77.     move.l    #mt8_buf0,$dff0a0
  78.     move.l    #mt8_buf1,$dff0b0
  79.     move.l    #mt8_buf2,$dff0c0
  80.     move.l    #mt8_buf3,$dff0d0
  81.     move.w    #313,d0
  82.     move.w    d0,$dff0a4
  83.     move.w    d0,$dff0b4
  84.     move.w    d0,$dff0c4
  85.     move.w    d0,$dff0d4
  86.     move.w    #227,d0
  87.     move.w    d0,$dff0a6
  88.     move.w    d0,$dff0b6
  89.     move.w    d0,$dff0c6
  90.     move.w    d0,$dff0d6
  91.     moveq    #64,d0
  92.     move.w    d0,$dff0a8
  93.     move.w    d0,$dff0b8
  94.     move.w    d0,$dff0c8
  95.     move.w    d0,$dff0d8
  96. mt8_fw2:move.l    $dff004,d0
  97.     lsr.l    #8,d0
  98.     and.w    #$1ff,d0
  99.     cmp.w    #301,d0
  100.     bne.s    mt8_fw2
  101.     move.w    #$800f,$dff096
  102.     rts
  103.  
  104. mt8_end:move.w    #$f,$dff096
  105.     clr.w    $dff0a8
  106.     clr.w    $dff0b8
  107.     clr.w    $dff0c8
  108.     clr.w    $dff0d8
  109.     bclr    #1,$bfe001
  110.     rts
  111.  
  112. mt8_music:
  113.     move.l    $dff004,d0
  114.     lsr.l    #8,d0
  115.     and.w    #$1ff,d0
  116.     cmp.w    #301,d0
  117.     bne.s    mt8_music
  118.     subq.w    #1,mt8_speedcnt
  119.     beq.s    mt8_dor
  120.     bra    mt8_zup
  121. mt8_dor:move.w    mt8_speed,mt8_speedcnt
  122.     add.l    #16,mt8_trackpos
  123.     add.l    #16,mt8_trackpos2
  124.     lea    mt8_samplestarts-4,a0
  125.     lea    mt8_data+42,a1        
  126.     lea    mt8_voice1,a3
  127.     lea    $dff0a8,a6
  128.     lea    mt8_oldins,a4
  129.     move.l    mt8_trackpos,a2
  130.     moveq    #7,d7
  131. mt8_voiceloop:
  132.     moveq    #0,d0
  133.     move.b    d0,d3
  134.     move.b    2(a2),d0
  135.     and.b    #$f,d0
  136.     beq    mt8_ncm
  137.     cmp.b    #$f,d0        ; tempo change
  138.     bne.s    mt8_nsc
  139.     move.b    3(a2),mt8_speed+1
  140.     bra    mt8_ncm
  141. mt8_nsc:cmp.b    #$d,d0        ; pattern break
  142.     bne.s    mt8_npq
  143.     st    mt8_pbflag
  144.     bra    mt8_ncm
  145. mt8_npq:cmp.b    #$c,d0        ; volume change
  146.     bne.s    mt8_nvc
  147.     move.b    3(a2),1(a6)
  148.     move.b    3(a2),25(a3)
  149.     st    d3
  150.     bra    mt8_ncm
  151. mt8_nvc:cmp.b    #$1,d0        ; picth up
  152.     bne.s    mt8_nfu
  153.     moveq    #0,d0
  154.     move.b    3(a2),d0
  155.     lsl.w    #7,d0
  156.     add.l    d0,8(a3)
  157.     bra    mt8_ncm
  158. mt8_nfu:cmp.b    #$2,d0        ; pitch down
  159.     bne.s    mt8_nfd
  160.     moveq    #0,d0
  161.     move.b    3(a2),d0
  162.     lsl.w    #7,d0
  163.     sub.l    d0,8(a3)
  164.     bra    mt8_ncm
  165. mt8_nfd:cmp.b    #$a,d0        ; volume slide
  166.     bne.s    mt8_nvs
  167.     move.w    (a2),d0
  168.     and.w    #$fff,d0
  169.     bne.s    mt8_n64
  170.     move.w    #64,24(a3)
  171. mt8_n64:moveq    #0,d0
  172.     move.b    3(a2),d0
  173.     move.w    d0,d1
  174.     and.w    #$f,d0
  175.     add.w    d0,d0
  176.     and.w    #$f0,d1
  177.     lsr.w    #3,d1
  178.     add.w    d1,24(a3)
  179.     sub.w    d0,24(a3)
  180.     bpl.s    mt8_vm1
  181.     clr.w    24(a3)
  182.     bra.s    mt8_vm2
  183. mt8_vm1:cmp.w    #64,24(a3)
  184.     ble.s    mt8_vm2
  185.     move.w    #64,24(a3)
  186. mt8_vm2:move.w    24(a3),(a6)
  187.     st    d3
  188.     bra    mt8_ncm
  189. mt8_nvs:cmp.b    #$4,d0        ; vibrato
  190.     bne    mt8_ncm
  191.     move.b    3(a2),d0
  192.     beq.s    mt8_nv2
  193.     move.b    d0,26(a3)
  194.     move.l    8(a3),28(a3)
  195. mt8_nv2:move.b    27(a3),d0
  196.     lsr.w    #2,d0
  197.     and.w    #$1f,d0
  198.     moveq    #0,d2
  199.     move.l    a4,-(sp)
  200.     lea    mt8_sin,a4
  201.     move.b    (a4,d0.w),d2
  202.     move.l    (sp)+,a4
  203.     sub.b    #128,d2
  204.     ext.w    d2
  205.     move.b    26(a3),d0
  206.     and.w    #$f,d0
  207.     muls    d0,d2
  208.     move.l    28(a3),d0
  209.     add.l    d2,d0
  210.     move.l    d0,8(a3)
  211.     move.b    26(a3),d0
  212.     lsr.w    #2,d0
  213.     and.w    #$3c,d0
  214.     add.b    d0,27(a3)
  215. mt8_ncm:move.w    (a2),d0    
  216.     and.w    #$fff,d0
  217.     beq    mt8_nxt
  218.     move.b    #$22,26(a3)
  219.     tst.b    d3
  220.     bne    mt8_vas
  221.     move.w    #64,(a6)
  222.     move.w    #64,24(a3)
  223. mt8_vas:move.l    #227*16384,d1
  224.     divu    d0,d1
  225.     swap    d1
  226.     clr.w    d1
  227.     swap    d1
  228.     add.l    d1,d1
  229.     add.l    d1,d1
  230.     move.l    d1,8(a3)
  231.     move.l    d1,28(a3)
  232.     moveq    #0,d0
  233.     move.b    2(a2),d0
  234.     lsr.b    #4,d0
  235.     btst    #7,(a2)
  236.     beq.s    mt8_n10
  237.     add.b    #16,d0
  238. mt8_n10:tst.w    d0
  239.     bne.s    mt8_nsa
  240.     move.w    (a4),d0
  241.     bra.s    mt8_nas
  242. mt8_nsa:move.w    d0,(a4)
  243. mt8_nas:move.w    d0,d1
  244.     subq.b    #1,d1
  245.     add.w    d0,d0
  246.     add.w    d0,d0
  247.     move.l    (a0,d0.w),d2
  248.     move.l    d2,(a3)
  249.     mulu    #$1e,d1
  250.     move.w    (a1,d1.w),d0
  251.     add.l    d0,d0
  252.     sub.l    #313,d0
  253.     bpl.s    mt8_sma
  254.     move.l    #313,d0
  255. mt8_sma:add.l    d2,d0
  256.     move.l    d0,4(a3)
  257.     tst.w    4(a1,d1.w)
  258.     beq.s    mt8_nir
  259.     move.l    (a3),12(a3)
  260.     moveq    #0,d0
  261.     move.w    4(a1,d1.w),d0
  262.     add.l    d0,d0
  263.     sub.l    #313,d0
  264.     bpl.s    mt8_sm2    
  265.     move.l    #313,d0
  266. mt8_sm2:add.l    d0,12(a3)
  267.     move.w    6(a1,d1.w),d0
  268.     add.l    d0,d0
  269.     move.l    d0,16(a3)
  270.     bra.s    mt8_nxt
  271. mt8_nir:clr.l    12(a3)    
  272.     clr.l    16(a3)    
  273.     clr.l    20(a3)
  274. mt8_nxt:cmp.w    #4,d7
  275.     bne.s    mt8_chp
  276.     lea    $dff0a8,a6
  277.     move.l    mt8_trackpos2,a2
  278.     bra.s    mt8_urk
  279. mt8_chp:add.w    #$10,a6
  280.     addq.w    #4,a2
  281. mt8_urk:addq.w    #2,a4
  282.     lea    36(a3),a3
  283.     dbra    d7,mt8_voiceloop
  284.  
  285.     tst.w    mt8_pbflag
  286.     bne.s    mt8_pb
  287.     addq.w    #1,mt8_patpos
  288.     cmp.w    #64,mt8_patpos
  289.     bne.s    mt8_zup
  290. mt8_pb:    clr.w    mt8_pbflag
  291.     addq.w    #1,mt8_songpos
  292. mt8_gtsongpos:
  293.     clr.w    mt8_patpos
  294.     lea    mt8_data,a0
  295.     move.w    mt8_songpos,d0
  296.     cmp.b    $3b6(a0),d0
  297.     blt.s    mt8_grz
  298.     clr.b    mt8_songpos
  299.     move.b    $3b7(a0),mt8_songpos+1
  300. mt8_grz:move.w    mt8_songpos,d0
  301.     lea    mt8_data+$3b8,a0
  302.     moveq    #0,d1
  303.     move.b    (a0,d0.w),d1
  304.     lsl.l    #8,d1
  305.     lsl.l    #2,d1
  306.     add.l    #mt8_data+$43c-16,d1
  307.     move.l    d1,mt8_trackpos
  308.     add.l    #1024,d1
  309.     move.l    d1,mt8_trackpos2
  310.  
  311. mt8_zup:move.w    mt8_doublebuf,d5
  312.     eor.w    #313,mt8_doublebuf
  313. mt8_zip:lea    mt8_voices,a2
  314.     movem.l    (a2)+,a3-a4
  315.     lea    mt8_buf0,a5
  316.     add.w    d5,a5
  317.     bsr    mt8_makebuffer
  318.     movem.l    (a2)+,a3-a4
  319.     lea    mt8_buf1,a5
  320.     add.w    d5,a5
  321.     bsr    mt8_makebuffer
  322.     movem.l    (a2)+,a3-a4
  323.     lea    mt8_buf2,a5
  324.     add.w    d5,a5
  325.     bsr    mt8_makebuffer
  326.     movem.l    (a2)+,a3-a4
  327.     lea    mt8_buf3,a5
  328.     add.w    d5,a5
  329.     bsr    mt8_makebuffer
  330.     rts
  331.  
  332. mt8_gs:    macro
  333.     move.b    (a0,d0.w),d4
  334.     ext.w    d4
  335.     move.b    (a1,d1.w),d6
  336.     ext.w    d6
  337.     add.w    d6,d4
  338.     asr.w    #1,d4        
  339.     move.b    d4,(a5)+    
  340.     swap    d0
  341.     swap    d1
  342.     add.l    d2,d0
  343.     add.l    d3,d1
  344.     swap    d0
  345.     swap    d1
  346.     endm
  347.  
  348. mt8_makebuffer:
  349.     move.l    (a3),d0
  350.     cmp.l    4(a3),d0
  351.     bcs.s    mt8_sun
  352.     tst.l    12(a3)
  353.     beq.s    mt8_nr1
  354.     move.l    12(a3),d0
  355.     move.l    d0,(a3)
  356.     move.l    16(a3),4(a3)
  357.     add.l    d0,4(a3)
  358.     bra.s    mt8_sun
  359. mt8_nr1:clr.l    (a3)
  360.     clr.l    4(a3)
  361.     clr.l    8(a3)
  362.  
  363. mt8_sun:move.l    (a4),d0
  364.     cmp.l    4(a4),d0
  365.     bcs.s    mt8_pbx
  366.     tst.l    12(a4)
  367.     beq.s    mt8_nr2
  368.     move.l    12(a4),d0
  369.     move.l    d0,(a4)
  370.     move.l    16(a4),4(a4)
  371.     add.l    d0,4(a4)
  372.     bra.s    mt8_pbx
  373. mt8_nr2:clr.l    (a4)
  374.     clr.l    4(a4)
  375.     clr.l    8(a4)
  376. mt8_pbx:move.l    (a3),a0
  377.     move.l    8(a3),d2
  378.     move.l    (a4),a1
  379.     move.l    8(a4),d3
  380.     moveq    #0,d0
  381.     moveq    #0,d1
  382.  
  383.     mt8_gs
  384.     mt8_gs
  385.     mt8_gs
  386.     mt8_gs
  387.     mt8_gs
  388.     mt8_gs
  389.     mt8_gs
  390.     mt8_gs
  391.     mt8_gs
  392.     mt8_gs
  393.     mt8_gs
  394.     mt8_gs
  395.     mt8_gs
  396.     mt8_gs
  397.     mt8_gs
  398.     mt8_gs
  399.     mt8_gs
  400.     mt8_gs
  401.     mt8_gs
  402.     mt8_gs
  403.     mt8_gs
  404.     mt8_gs
  405.     mt8_gs
  406.     mt8_gs
  407.     mt8_gs
  408.     mt8_gs
  409.     mt8_gs
  410.     mt8_gs
  411.     mt8_gs
  412.     mt8_gs
  413.     mt8_gs
  414.     mt8_gs
  415.     mt8_gs
  416.     mt8_gs
  417.     mt8_gs
  418.     mt8_gs
  419.     mt8_gs
  420.     mt8_gs
  421.     mt8_gs
  422.     mt8_gs
  423.     mt8_gs
  424.     mt8_gs
  425.     mt8_gs
  426.     mt8_gs
  427.     mt8_gs
  428.     mt8_gs
  429.     mt8_gs
  430.     mt8_gs
  431.     mt8_gs
  432.     mt8_gs
  433.     mt8_gs
  434.     mt8_gs
  435.     mt8_gs
  436.     mt8_gs
  437.     mt8_gs
  438.     mt8_gs
  439.     mt8_gs
  440.     mt8_gs
  441.     mt8_gs
  442.     mt8_gs
  443.     mt8_gs
  444.     mt8_gs
  445.     mt8_gs
  446.     mt8_gs
  447.     mt8_gs
  448.     mt8_gs
  449.     mt8_gs
  450.     mt8_gs
  451.     mt8_gs
  452.     mt8_gs
  453.     mt8_gs
  454.     mt8_gs
  455.     mt8_gs
  456.     mt8_gs
  457.     mt8_gs
  458.     mt8_gs
  459.     mt8_gs
  460.     mt8_gs
  461.     mt8_gs
  462.     mt8_gs
  463.     mt8_gs
  464.     mt8_gs
  465.     mt8_gs
  466.     mt8_gs
  467.     mt8_gs
  468.     mt8_gs
  469.     mt8_gs
  470.     mt8_gs
  471.     mt8_gs
  472.     mt8_gs
  473.     mt8_gs
  474.     mt8_gs
  475.     mt8_gs
  476.     mt8_gs
  477.     mt8_gs
  478.     mt8_gs
  479.     mt8_gs
  480.     mt8_gs
  481.     mt8_gs
  482.     mt8_gs
  483.     mt8_gs
  484.     mt8_gs
  485.     mt8_gs
  486.     mt8_gs
  487.     mt8_gs
  488.     mt8_gs
  489.     mt8_gs
  490.     mt8_gs
  491.     mt8_gs
  492.     mt8_gs
  493.     mt8_gs
  494.     mt8_gs
  495.     mt8_gs
  496.     mt8_gs
  497.     mt8_gs
  498.     mt8_gs
  499.     mt8_gs
  500.     mt8_gs
  501.     mt8_gs
  502.     mt8_gs
  503.     mt8_gs
  504.     mt8_gs
  505.     mt8_gs
  506.     mt8_gs
  507.     mt8_gs
  508.     mt8_gs
  509.     mt8_gs
  510.     mt8_gs
  511.     mt8_gs
  512.     mt8_gs
  513.     mt8_gs
  514.     mt8_gs
  515.     mt8_gs
  516.     mt8_gs
  517.     mt8_gs
  518.     mt8_gs
  519.     mt8_gs
  520.     mt8_gs
  521.     mt8_gs
  522.     mt8_gs
  523.     mt8_gs
  524.     mt8_gs
  525.     mt8_gs
  526.     mt8_gs
  527.     mt8_gs
  528.     mt8_gs
  529.     mt8_gs
  530.     mt8_gs
  531.     mt8_gs
  532.     mt8_gs
  533.     mt8_gs
  534.     mt8_gs
  535.     mt8_gs
  536.     mt8_gs
  537.     mt8_gs
  538.     mt8_gs
  539.     mt8_gs
  540.     mt8_gs
  541.     mt8_gs
  542.     mt8_gs
  543.     mt8_gs
  544.     mt8_gs
  545.     mt8_gs
  546.     mt8_gs
  547.     mt8_gs
  548.     mt8_gs
  549.     mt8_gs
  550.     mt8_gs
  551.     mt8_gs
  552.     mt8_gs
  553.     mt8_gs
  554.     mt8_gs
  555.     mt8_gs
  556.     mt8_gs
  557.     mt8_gs
  558.     mt8_gs
  559.     mt8_gs
  560.     mt8_gs
  561.     mt8_gs
  562.     mt8_gs
  563.     mt8_gs
  564.     mt8_gs
  565.     mt8_gs
  566.     mt8_gs
  567.     mt8_gs
  568.     mt8_gs
  569.     mt8_gs
  570.     mt8_gs
  571.     mt8_gs
  572.     mt8_gs
  573.     mt8_gs
  574.     mt8_gs
  575.     mt8_gs
  576.     mt8_gs
  577.     mt8_gs
  578.     mt8_gs
  579.     mt8_gs
  580.     mt8_gs
  581.     mt8_gs
  582.     mt8_gs
  583.     mt8_gs
  584.     mt8_gs
  585.     mt8_gs
  586.     mt8_gs
  587.     mt8_gs
  588.     mt8_gs
  589.     mt8_gs
  590.     mt8_gs
  591.     mt8_gs
  592.     mt8_gs
  593.     mt8_gs
  594.     mt8_gs
  595.     mt8_gs
  596.     mt8_gs
  597.     mt8_gs
  598.     mt8_gs
  599.     mt8_gs
  600.     mt8_gs
  601.     mt8_gs
  602.     mt8_gs
  603.     mt8_gs
  604.     mt8_gs
  605.     mt8_gs
  606.     mt8_gs
  607.     mt8_gs
  608.     mt8_gs
  609.     mt8_gs
  610.     mt8_gs
  611.     mt8_gs
  612.     mt8_gs
  613.     mt8_gs
  614.     mt8_gs
  615.     mt8_gs
  616.     mt8_gs
  617.     mt8_gs
  618.     mt8_gs
  619.     mt8_gs
  620.     mt8_gs
  621.     mt8_gs
  622.     mt8_gs
  623.     mt8_gs
  624.     mt8_gs
  625.     mt8_gs
  626.     mt8_gs
  627.     mt8_gs
  628.     mt8_gs
  629.     mt8_gs
  630.     mt8_gs
  631.     mt8_gs
  632.     mt8_gs
  633.     mt8_gs
  634.     mt8_gs
  635.     mt8_gs
  636.     mt8_gs
  637.     mt8_gs
  638.     mt8_gs
  639.     mt8_gs
  640.     mt8_gs
  641.     mt8_gs
  642.     mt8_gs
  643.     mt8_gs
  644.     mt8_gs
  645.     mt8_gs
  646.     mt8_gs
  647.     mt8_gs
  648.     mt8_gs
  649.     mt8_gs
  650.     mt8_gs
  651.     mt8_gs
  652.     mt8_gs
  653.     mt8_gs
  654.     mt8_gs
  655.     mt8_gs
  656.     mt8_gs
  657.     mt8_gs
  658.     mt8_gs
  659.     mt8_gs
  660.     mt8_gs
  661.     mt8_gs
  662.     mt8_gs
  663.     mt8_gs
  664.     mt8_gs
  665.     mt8_gs
  666.     mt8_gs
  667.     mt8_gs
  668.     mt8_gs
  669.     mt8_gs
  670.     mt8_gs
  671.     mt8_gs
  672.     mt8_gs
  673.     mt8_gs
  674.     mt8_gs
  675.     mt8_gs
  676.     mt8_gs
  677.     mt8_gs
  678.     mt8_gs
  679.     mt8_gs
  680.     mt8_gs
  681.     mt8_gs
  682.     mt8_gs
  683.     mt8_gs
  684.     mt8_gs
  685.     mt8_gs
  686.     mt8_gs
  687.     mt8_gs
  688.     mt8_gs
  689.     mt8_gs
  690.     mt8_gs
  691.     mt8_gs
  692.     mt8_gs
  693.     mt8_gs
  694.     mt8_gs
  695.     mt8_gs
  696.  
  697.     add.w    d0,a0
  698.     add.w    d1,a1
  699.     move.l    a0,(a3)
  700.     move.l    a1,(a4)
  701.     rts
  702.  
  703. mt8_speed:    dc.w    0
  704. mt8_speedcnt:    dc.w    0
  705. mt8_songpos:    dc.w    0
  706. mt8_trackpos:    dc.l    0
  707. mt8_trackpos2:    dc.l    0
  708. mt8_patpos:    dc.w    0
  709. mt8_pbflag:    dc.w    0
  710. mt8_doublebuf:    dc.w    0
  711.  
  712. mt8_voices:    dc.l    mt8_voice1,mt8_voice5,mt8_voice2,mt8_voice6
  713.         dc.l    mt8_voice3,mt8_voice7,mt8_voice4,mt8_voice8
  714.  
  715. mt8_oldins:    blk.w    8,0
  716.  
  717. mt8_sin:    dc.b    128,153,177,199,219,234,246,254,255,254,246
  718.         dc.b    234,219,199,177,153,128,103,79,57,37,22,9,2,0
  719.         dc.b    2,9,22,37,57,79,103
  720.  
  721. mt8_samplestarts:
  722.         blk.l    31,0
  723.  
  724. mt8_buf0:    blk.w    313,0
  725. mt8_buf1:    blk.w    313,0
  726. mt8_buf2:    blk.w    313,0
  727. mt8_buf3:    blk.w    313,0
  728. mt8_voice1:    blk.w    18,0
  729. mt8_voice2:    blk.w    18,0
  730. mt8_voice3:    blk.w    18,0
  731. mt8_voice4:    blk.w    18,0
  732. mt8_voice5:    blk.w    18,0
  733. mt8_voice6:    blk.w    18,0
  734. mt8_voice7:    blk.w    18,0
  735. mt8_voice8:    blk.w    18,0
  736.  
  737.  
  738.